Summary: ExIntrod_GM04
Functions: nats adx zeros cons 0 incr s hd tl
Constructors: cons 0 s
Variables: X Y
Arities:
ar(nats) = 0
ar(adx) = 1
ar(zeros) = 0
ar(cons) = 2
ar(0) = 0
ar(incr) = 1
ar(s) = 1
ar(hd) = 1
ar(tl) = 1
Replacement map:
µ(nats)={}
µ(adx)={1}
µ(zeros)={}
µ(cons)={}
µ(0)={}
µ(incr)={1}
µ(s)={}
µ(hd)={1}
µ(tl)={1}
Rules: (file ExIntrod_GM04)
nats -> adx(zeros)
zeros -> cons(0,zeros)
incr(cons(X,Y)) -> cons(s(X),incr(Y))
adx(cons(X,Y)) -> incr(cons(X,adx(Y)))
hd(cons(X,Y)) -> X
tl(cons(X,Y)) -> Y
obj ExIntrod_GM04 is
sort S .
op nats : -> S .
op adx : S -> S .
op zeros : -> S .
op cons : S S -> S [strat (0)] .
op 0 : -> S .
op incr : S -> S .
op s : S -> S [strat (0)] .
op hd : S -> S .
op tl : S -> S .
vars X Y : S .
eq nats = adx(zeros) .
eq zeros = cons(0,zeros) .
eq incr(cons(X,Y)) = cons(s(X),incr(Y)) .
eq adx(cons(X,Y)) = incr(cons(X,adx(Y))) .
eq hd(cons(X,Y)) = X .
eq tl(cons(X,Y)) = Y .
endo
Negative results
-
The mu-termination of ExIntrod_GM04 cannot be proved by using either
Lucas', Zantema's, or Ferreira and Ribeiro's transformations
[GM04, Section 3].
Positive results
-
The µ-termination of ExIntrod_GM04 can also
be proved by using Giesl and Middeldorp's transformation: the TRS ExIntrod_GM04_GM:
a__nats -> a__adx(a__zeros)
a__zeros -> cons(0,zeros)
a__incr(cons(X,Y)) -> cons(s(X),incr(Y))
a__adx(cons(X,Y)) -> a__incr(cons(X,adx(Y)))
a__hd(cons(X,Y)) -> mark(X)
a__tl(cons(X,Y)) -> mark(Y)
mark(nats) -> a__nats
mark(adx(X)) -> a__adx(mark(X))
mark(zeros) -> a__zeros
mark(incr(X)) -> a__incr(mark(X))
mark(hd(X)) -> a__hd(mark(X))
mark(tl(X)) -> a__tl(mark(X))
mark(cons(X1,X2)) -> cons(X1,X2)
mark(0) -> 0
mark(s(X)) -> s(X)
a__nats -> nats
a__adx(X) -> adx(X)
a__zeros -> zeros
a__incr(X) -> incr(X)
a__hd(X) -> hd(X)
a__tl(X) -> tl(X)
is terminating (use MuTerm).
-
The µ-termination of ExIntrod_GM04 is proved in [Luc04, Example 3] by using
a polynomial interpretation (computed with MuTerm).
[nats] = 5
[adx](X) = X + 3
[zeros] = 1
[cons](X1,X2) = X1 + 1/2.X2
[0] = 0
[incr](X) = X + 1
[s](X) = 0
[hd](X) = X + 1
[tl](X) = 2.X + 1
-
The µ-termination of ExIntrod_GM04 can be proved by using
CSRPO (proof due to Albert Rubio):
- marking map:
m(cons,2)={zeros,incr,adx}=W
m(incr',1)={zeros,incr,adx}=W
m(adx',1)={zeros,incr,adx}=W
- precedence:
nats > adx, zeros
zeros > cons, 0, zeros'
incr > cons, s, incr'
adx > incr, cons, adx'
tl > zeros, incr, adx
- status:
st(f) = mul for all function symbols
-
The µ-termination of ExIntrod_GM04 can be proved by using
CSDP (computed
by MuTerm).